Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- Impractical Programming



  Programming Languages for Machine Learning Implementations

Machine learning algorithms have a much better chance of being widely adopted if they are implemented in some easy-to-use code. There are several important concerns associated with machine learning which stress programming languages on the ease-of-use vs. speed frontier.Speed The rate at which data sources are growing seems to be outstripping the rate at which computational power is growing, so it is important that we be able to eak out every bit of computational power. Garbage collected la...

   Programming language,Machine learning,Development     2011-11-16 08:22:17

  What to put on whiteboard during an interview

As a programmer, you may go through different kinds of programming tests while interviewing for jobs. The most famous and difficult one may be the whiteboard test for lots of people. Usually the interviewer will give the candidate an algorithm problem or case study and ask the candidate to implement the algorithm with his/her favorite programming language. The code to be written is not too much but it requires the candidate to thoroughly consider different edge cases. So wha...

   TIPS,INTERVIEW,WHITEBOARD TEST     2014-08-29 20:34:52

  People working with computers seem to have a lot of spare time

People working with computers are a group of people who spend much time on communicating with PCs, Handsets and other programmed hardware devices. Usually, these people are thought as a group of busy people. When we see them, they are often sleepy and seem not caring about anything else. They often work day and night, spend many hours on finding and fixing an unknown bug or trying to meet the project deadline  Are they really so busy?  Lets see what some people think about them? Just f...

   Programming,Busy,Spare time,Fun     2012-05-01 07:06:51

  Lasagna Code

Anyone who claims to be even remotely versed in computer science knows what “spaghetti code” is. That type of code still sadly exists. But today we also have, for lack of a better term — and sticking to the pasta metaphor — “lasagna code”.Lasagna Code is layer upon layer of abstractions, objects and other meaningless misdirections that result in bloated, hard to maintain code all in the name of “clarity”. It drives me nuts to see how badly some c...

   Lasagna Code,Analysis,spaghetti code     2011-11-16 03:12:03

  All Programming is Web Programming

Michael Braude decries the popularity of web programming:The reason most people want to program for the web is that they're not smart enough to do anything else. They don't understand compilers, concurrency, 3D or class inheritance. They haven't got a clue why I'd use an interface or an abstract class. They don't understand: virtual methods, pointers, references, garbage collection, finalizers, pass-by-reference vs. pass-by-value, virtual C++ destructors, or the differences between C# struc...

   Programming,Web programming,Opposite,Views,Web app     2011-11-12 10:38:00

  Moving from Java to C++: An Interview with Rogers Cadenhead

In this interview, co-author of Sams Teach Yourself C++ in 24 Hours, 5th Edition Rogers Cadenhead discusses moving from Java to C++, what brought him to C++, and the best tactics for learning C++.Danny Kalev: For how long were you a Java programmer? Can you tell us a bit about the nature of the projects in which you took part at that time?Rogers Cadenhead: I've been a Java programmer since the language was launched by Sun Microsystems in 1995. I was doing website develop...

   Java,C++,Transfer,Transform,New challeng     2011-09-03 11:01:26

  4 asynchronous programming methods in JavaScript

You may know the execution environment of JavaScript is single threaded. The so called single thread means only one task can be running at any time, if there are many tasks, they need to be in a queue and wait for the previous task to be completed. The advantage of this mode is it's easy to implement and the execution environment is relative simple; the disadvantage is that if one task takes long time, the tasks following it must wait in the queue and this will delay other tasks consequently. Th...

   JAVASCRIPT,ASYNCHRONOUS PROGRAMMING, EVENT MODEL,PROMISE     2012-12-25 00:55:47

  Google Dart? Don’t bet against JavaScript

Procotols, programming languages and operating systems all compete in a constantly evolving software ecosystem. Out of that ecosystem only a few technologies truly have staying power and survive over the long term. An example? How about Ethernet? It’s been a survivor over the last thirty years despite existing in a constantly changing landscape that’s been populated with many worthy competitors. Ethernetâ€...

   Google Dart,JavaScript,Comparison,Future     2011-12-06 09:49:39

  Why Dynamic Programming Languages Are Slow

In a statically typed language, the compiler knows the data-type of a variable and how to represent that. In a dynamically-typed language, it has to keep flag describing the actual type of the value of the variable, and the program has to perform a data-dependent branch on that value each time it manipulates a variable.  It also has to look up all methods and operators on it. The knock-on effect of this on branching and data locality is lethal to general purpose runtime performance. T...

   Dynamic language,Slow,Analysis     2012-03-26 15:33:11

  The Erlang Design Pattern

Over the last couple of weeks I did an OO programming experiment. I call it the Erlang design pattern. It is based on the Actor model but goes some steps further. At its core just like the Actor model there are active entities (objects) that have a thread and a message queue with the thread waiting on the message queue to do some stuff. The Erlang design pattern extends the Actor model by first dividing the software program into active (actors, that have their own thread) and passive ...

   Erlang,Thread,Pattern,OS Threads     2012-02-06 07:47:56